﻿This document is a compliation of the various things I've been documenting. 
(seriously outdated. I now store the documentation within my NoName project files, which are private)

10020000h - 1081FFFFh

**********************************************************************************************************************
**********************************************************************************************************************
OCARINA OF TIME DEBUG
**********************************************************************************************************************
**********************************************************************************************************************

TEXTURE POINTERS:
08 = icon_item_static

**********************************************************************************************************************
INTERFACE DOCUMENTATION
**********************************************************************************************************************
Pause Menu:
BG B4B478
Buttons:
A  64C8FF
S  FF823C
B  64FF78
C  FFF000

B Button Red: 			80110EE8
B Button Green & Blue:	80110EF4

A Button Green: 		80110F08
A Button Blue: 			80110F1C
A Button Red: 			80110F40 (Uses R0 registry)


C Button Red: 			801110E8
C Button Green: 		80111494
C Button Blue: 			801114B8 (Uses R0 registry)

S Button Red & Green: 0x80089180
S Button Blue: 0x80089184


80063748

A Button
{
    Scale:        0x812114C8 FE84 //Two Bytes
    X Coordinate: 0x812114C6 00BA //Two Bytes
    Y Coordinate: 0x812114C4 0009 //Two Bytes
    Color:    RR: 0x802114D1 0000 //One Byte
              GG: 0x802114D3 00C8 //One Byte
              BB: 0x802114D5 0032 //One Byte
 
    Graphic (Text)
    {
        X Scale:        0x812114CE 0030 //Two Bytes
        Y Scale:        0x812114DC 0010 //Two Bytes
        X Coordinate:   0x812114CC 00BA //Two Bytes
        Y Coordinate:   0x812114CA 0009 //Two Bytes
    }
}
B Button
{
    Scale:        0x81211240 023F //Two Bytes
    X Coordinate: 0x81211230 00A0 //Two Bytes
    Y Coordinate: 0x81211238 0011 //Two Bytes
    Color     RR: 0x802111FB 00FF //One Byte
              GG: 0x802111FD 001E //One Byte
              BB: 0x802111FF 0014 //One Byte
 
    Graphic (Item)
    {
        Scale:          0x81211258 0226 //Two Bytes
        X Coordinate:   0x81211248 00A0 //Two Bytes
        Y Coordinate:   0x81211250 0011 //Two Bytes
 
        Ammunition Numbers
        {
            X Position: 0x812119A4 00A2 //Two Bytes
            Y Position: 0x812119AC 0023 //Two Bytes
        }
    }
 
    Graphic (Text)
    {
        X Scale:
        Y Scale:
        X Coordinate:
        Y Coordinate:
    }
}
C Buttons
{
    Color:    RR: 0x802111F3 00FF //One Byte
              GG: 0x802111F5 00A0 //One Byte
              BB: 0x802111F7 0000 //One Byte
 
    C-Left
    {
        Scale:          0x81211242 026C //Two Bytes
        X Coordinate:   0x81211232 00E3 //Two Bytes
        Y Coordinate:   0x8121123A 0012 //Two Bytes
 
            Graphic (Item)
            {
                Scale:          0x8121125C 02A8 //Two Bytes
                X Coordinate:   0x8121124A 00E3 //Two Bytes
                Y Coordinate:   0x81211252 0012 //Two Bytes
 
                Ammunition Numbers
                {
                    X Position: 0x812119A6 00E4 //Two Bytes
                    Y Position: 0x812119AE 0023 //Two Bytes
                }
            }
    }
 
    C-Down
    {
        Scale:          0x81211244 026C //Two Bytes
        X Coordinate:   0x81211234 00F9 //Two Bytes
        Y Coordinate:   0x8121123C 0022 //Two Bytes
 
            Graphic (Item)
            {
                Scale:          0x8121125A 02A8 //Two Bytes
                X Coordinate:   0x8121124C 00F9 //Two Bytes
                Y Coordinate:   0x81211254 0022 //Two Bytes
 
                Ammunition Numbers
                {
                    X Position: 0x812119A8 00FA //Two Bytes
                    Y Position: 0x812119B0 0033 //Two Bytes
                }
            }
    }
 
    C-Right
    {
        Scale:          0x81211246 026C //Two Bytes
        X Coordinate:   0x81211236 010F //Two Bytes
        Y Coordinate:   0x8121123E 0012 //Two Bytes
 
            Graphic (Item)
            {
                Scale:          0x8121125E 02A8 //Two Bytes
                X Coordinate:   0x8121124E 010F //Two Bytes
                Y Coordinate:   0x81211256 0010 //Two Bytes
 
                Ammunition Numbers
                {
                    X Position: 0x812119AA 0110 //Two Bytes
                    Y Position: 0x812119B2 0023 //Two Bytes
                }
            }
    }
 
    C-Up
    {
        Scale:          0x81            //Two Bytes
        X Coordinate:   0x81211220 00FE //Two Bytes
        Y Coordinate:   0x81211222 0010 //Two Bytes
 
            Graphic (Item)
            {
                Scale:          0x81            //Two Bytes
                X Coordinate:   0x81210F54 00F7 //Two Bytes
                Y Coordinate:   0x81210F56 0014 //Two Bytes
            }
    }
}
Magic Meter
{
    Y Position:                        0x81211508 002A //Two Bytes
    Y Position with one row of hearts: 0x81211504 0022 //Two Bytes
 
    Fill
    {
        X position: 0x8121150A 001A //Two Bytes
        Color:  RR: 0x802111A5 0000 //One Byte
                GG: 0x802111A7 00C8 //One Byte
                BB: 0x802111A9 0000 //One Byte
    }
 
    Border
    {
        X Position: 0x81211506 0012 //Two Bytes
        Color:  RR: 0x80125A29 00FF //One Byte
                GG: 0x80125A2D 00FF //One Byte
                BB: 0x80125A31 00FF //One Byte
 
        Charging Color First Frame: RR: 0x80125AB1 00FF //One Byte
                                    GG: 0x80125AB3 00FF //One Byte
                                    BB: 0x80125AB5 00FF //One Byte
 
        Charging Color Second Frame: RR: 0x80125AB7 0096 //One Byte
                                     GG: 0x80125AB9 0096 //One Byte
                                     BB: 0x80125ABB 0096 //One Byte
    }
}
Mini-Map
{
    X Position: 0x812117DE 00D8 //Two Bytes
    Y Position: 0x812117E0 0096 //Two Bytes
    Color:  RR: 0x80211949 0000 //One Byte
            GG: 0x8021194B 00FF //One Byte
            BB: 0x8021194D 00FF //One Byte
 
    Arrows
    {
        X Position: 0x81211944 0438 //Two Bytes
        Y Position: 0x81211946 FE98 //Two Bytes
    }
}
Rupee Counter
{
    X Position: 0x8108AB56 001A //Two Bytes
    Y Position: 0x8108AB52 00CE //Two Bytes
    Color:  RR: 0x8008AAFA 00C8 //One Byte
            GG: 0x8008AAFB 00FF //One Byte
            BB: 0x8008AB0E 0064 //One Byte
 
    Amount
    {
        X Position: 0x8008ADDC 0024 //One Byte
        Y Position: 0x8108AFC6 00CE //Two Bytes
    }
}

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;Wallet Capacity
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
0x0015E694 Current Rupees
0x00125B44 Wallet Digit Length Table
0x0012721C Wallet Capacity Table


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;INVENTORY STUFF
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

0x00222968 Current Menu
0x0022299D Currently Selected Menu Item
0x802229BC selected menu item text
0x002229C4 Selected Item Name

0x0015E6D4 items
003E978C

0x80089D40 Item that uses Ammo ASM
0x80127464 Item Ammo Slot Attached Table
0x803D97AC 

0x800C6AD4 Make items with id 0x0007 equipable?

0x803D8430 Function that applies Ammo to inventory slots. A2 is the item ID

802229BE
803E1378
qst 803D265C
A0 803EDFFC

Equip Item: 803D98D4

80002130

803D8B2C

0x803D8B88 (left)
0x803D8C68 (right)
0x803D8DD0 (from L)
0x803D8EA8 (from R)
0x803D8FAC (up)
0x803D9004 (Down)
0x803E1370 (Set to 0xFF instead of 0x03E7 to hide item name for blank slots)



0x803D8AE4 move cursor if selected item is 3E7 (blank) (Set to always branch)

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;OOT TITLE SCREEN DOCUMENTATION
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
0023C6AE

0x8023C6DC "Press Start" Text

0x8024AB8C Fire Animation frame

0x8024AB64 Title Screen Flame Color

0x8024AB58 Title Screen Color stuff

8023A814 fire color start

8023C5D4

801C740C title screen objects around here

0x8023BDF8 "THE LEGEND OF" & "OCARINA OF TIME" Red & Green Color
0x8023BDFC "THE LEGEND OF" & "OCARINA OF TIME" Blue Color
0x8023BE1C "THE LEGEND OF" & "OCARINA OF TIME" Shadow Red & Green
0x8023BE20 "THE LEGEND OF" & "OCARINA OF TIME" Shadow Blue & Alpha

8023BE40 = 00005021 (Hide The legend of ocarina of time text)
8023BE34 = 00007021 (Hide Shadows)

0A	A
0B	B
0C	C
0D	D
0E	E
0F	F
10	G
11	H
12	I
13	J
14	K
15	L
16	M
17	N
18	O
19	P
1A	Q
1B	R
1C	S
1D	T
1E	U
1F	V
20	W
21	X
22	Y
23	Z

0C15181E 0D160A21 4141

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;OOT FILE SELECT DOCUMENTATION
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

RAM APPLY ADDRESSES
-----
0x803FEACC Background & Menu Button Blue
0x803FEACC Cursor Green & Blue
Note how they share the same value across these 3 colors.

0x803FED04 Cursor Red

801C7CE4 cursor object loc

0x803FEE30 Background & Button Red
0x803FEE34 Background & Button Green

0x803FFDBC File Button Red
0x803FFDBE File Button Green
0x803FFDC0 File Button Blue

0x8022EABC Current A*B Help Text Alpha
0x801B5974 Current Text Color (object)
0x803FE7C8 Text Red and Green Color
0x803FE7DC Text Blue Color
0x803F8B24 = A439CA9E (fade in text)
0x803F8B60 = A423CA9E (set final alpha)

0x803FB784 Title Text Color
0x801C6844 Title Text Color (object)

ASM to allow setting full Title Color:
.org 0x803FB780 
LBU T9, 0x4A6F(V1)
.org 0x803FB784
LUI AT, 0xRRGG
.org 0x803FB78C 
ORI AT, AT, 0xBB00 

.org 0x803F7598
LBU T6, 0x4A6F(RA)
.org 0x803F759C
LUI AT, 0xRRGG
.org 0x803F75A4
ORI AT, AT, 0xBB00


ROM ADDRESSES
-----
0x00BE039C Background & Menu Button Blue (ASM ADDIU command, change last byte of the word/4bytes to the color you want)
0x00BE039C Cursor Green & Blue (ASM ADDIU command, change last byte of the word/4bytes to the color you want)
Note how they share the same value across these 3 colors.

0x00BE05D4 Cursor Red (ASM ADDIU command, change last byte of the word/4bytes to the color you want)

0x00BE0700 Background & Button Red (ASM ADDIU command, change last byte of the word/4bytes to the color you want)
0x00BE0704 Background & Button Green (ASM ADDIU command, change last byte of the word/4bytes to the color you want)

0x00BE168C File Panel Red (halfword/2bytes, change the last byte to the color you want)
0x00BE168E File Panel Green (halfword/2bytes, change the last byte to the color you want)
0x00BE1690 File Panel Blue (halfword/2bytes, change the last byte to the color you want)

0x00BDA3F4 A-Decide*B-Cancel Alpha Fade (ASM command used to fade in the text, NOP it to prevent it from fading in)
0x00BDA430 A-Decide*B-Cancel Alpha Final (ASM command used to set the final Alpha after the fading is done, NOP this and the Fade to prevent the text from being displayed)
0x00BE0098 A-Decide*B-Cancel Red and Green Color (ASM LUI Command, change the last 2 bytes in the word)
0x00BE00AC A-Decide*B-Cancel Blue Color (ASM ORI Command, change the 2nd last byte in the word)

0x00BE17F8 File Name Color (00RR00GG00BB)

Full Title Color ASM:
Default Title:
0x00BDD050 = 90794A6F
0x00BDD054 = 3C01XXYY
0x00BDD05C = 3421ZZ00
New File Title:
0x00BD61FC = 90F94A6F
0x00BD6200 = 3C01XXYY
0x00BD6208 = 3421ZZ00
Options Titles:
0x00BD8E68 = 93EE4A6F
0x00BD8E6C = 3C01XXYY
0x00BD8E74 = 3421ZZ00


---------------------------------------
0011FCB0
------


801B52BC


801B5444


803F9C50
801BE1A0 - 801BE1E0 kokiri emerald
FFA6000A
FFB6000A
012CFFFA
FFB6FFFA

0x801C6D04 File 1 Object Location (Color)

0x003F99D4 Background Offset


0x8015FA68 Current Language
0x8015FA69 Selected Sound Option
0x80400E70 Current Options Screen Selection

0x8022EA78 Current Yes/Quit Offset
0x8022EA88 Background Color
0x8022EA94 Button Alpha
0x8022EAAC File Panel Background Alpha (all files have their own panel)
0x8022EAC0 Cursor Color
0x8022EAE0 Panel Position

0x80400072 File Move Distance when selected

0x803FFC90  Options Texture Table
01041100 SOUND

0x803FFDBC File Button & Title Background Color

0x803FFEBC  Spiritual Stone & Medallion Texture Table

0x803FFED8  Spiritual Stone & Medallion Color Table

0x803FFF14 Spiritual Stone & Medallion Requirement Offset Table
A table of IDs used to determine which Requirement Table Entry it should use to display each object.

0x803FFF28 File Name Color
Format: 00RR00GG00BB

0x803FFF34 Heart Texture

0x803FFF3C Heart Color
Format: 00RR00GG00BB

0x803FFF48 Heart Outline Color
Format: 00RR00GG00BB

0x803FFF54 Texture Table
Open File Background 1					01016380
Open File Background 2					01017340
Open File Background 3					01018300
Open File Background 4					010192C0
Open File Background 5					0101A280
Please Select a file. Title				0102AC80
Open this file? Title					0102B480
Copy which file? Title					01024C80
Copy to which file? Title				01025480
Are you sure? (Copy) Title				01025C80
File copied. Title						01026480
Erase which file? Title					0102DC80
Are you sure? (Delete) Title			0102E480
File erased. Title						0102EC80
Unknown x29 (Alternate language textures)
File 1 Background						01037200
File 2 Background						01037A00
File 3 Background						01038200
Datei 1 Background						01038A00
Datei 2 Background						01039200
Datei 3 Background						01039A00
Fichier 1 Background					0103A200
Fichier 2 Background					0103AA00
Fichier 3 Background					0103B200
Copy Background							01035A00
Erase Background						0103D200
Yes Background							0103BA00
Quit Background							0103EA00
Kopieren Background						01036200
Löschen Background						0103DA00
Ja Background							0103C200
Zurück Background						0103F200
Copier Background						01036A00
Effacer Background						0103E200
Oui Background							0103CA00
Retour Background						0103FA00
Options Background						01045E00
Optionen Background						01046600
Options Background						01045E00

0x80400668 Screen Float Scale Table
Order:
Select File
New File
Options Width
Options Height
Open File

0x8015FA68 Current Language
0x803F6EB8 Set Sound Option (Left)
0x803F6F4C Set Sound Option (Right)

Replace Sound Option with Language Option:
Change all of these to read & set to 0x9 instead of 0xA:
803F6EA4
803F6EBC
803F6EC4
803F6F3C
803F6F50
803F6F54
803F78BC
Set to 0x2 so that it goes to the last language (language 2) when the options language is less than 0
803F6EA8
Set to 0x3 so that it goes to the first language (language 0) when the selected language is higher than 2
803F6F48
Set to 0x00010001 so that the 4th sound option doesn't have a size, making it invisible.
803FFD14
803FFD18

0x80400078 Some kind of pointer table

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;OOT MENU DOCUMENTATION
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
0x803D23B0 Menu Start RAM
0x00BE2730 Menu Start ROM
Menu File: ovl_kaleido_scope.zdata

0x003E8BF8 Menu Data Start

80211A00 Overworld map stuff

-----------------------------------------------------------
Medallion Fade Color:
0x803E8C20
Each medallion has 2 color steps each using the format 00RR00GG00BB, making each color entry 0x6 bytes.
They slowly fade from color 1 to color 2, then quickly fade back to color 1 and repeats the process.


-----------------------------------------------------------
Heart Container Fade Color:
0x803E8C00
It loops through 4 colors steps with the format 00RR00GG00BB00AA, making each color enty 0x8 bytes.


-----------------------------------------------------------
Cursor Color:
0x803E9834 Cursor Color Table Offset
Each entry is 0x6 bytes (00RR00GG00BB).
Entry order:
Standard (White)
C-Button (Yellow)
A-Button (Green)

0x803E9884 Cursor Color Fade Table Offset
Each entry has 4 color steps, given each cursor a total length of 0x18.
Fade from color 1 to 2. Fade fast from to color 3. Fade from color 3 to 4. fade fast to color 1. Repeat.
Color uses same format as Cursor Color Table. (00RR00GG00BB).
----------------------------------------------------------

803E10A8 Object Name Panel and L Button Red and Green
803E10AC Object Name Panel and L Button Blue and Alpha

803E1198 R Red and Green
803E119C R Blue and Alpha


801CB704 R color
801CE8B0 L,R & Name panel stuff

803E0AD0 Name Panel Y Offset
803E0ADC Name Panel Y Height (negative number, as it sets bottom offset relative to top offset)
803E0AEC Name Panel X Offset (Changing this will mess up the texture)

B4B478

0x003E94D8 Texture Table

0x000170B0 Game Over Screen Texture Start (file offset)

803E9978 L & R Button Color & Fading stuff
803F0D30 Current Fading

803D46A4 Skulltula Text Color
803D4638 Skulltula Text Shadow Color

803D3EF0 Song Note Replay Red and Green
803D3EF4 C-Button Song Note Red and Green
803D3EF8 A Button Song Note Red and Green
803D3EFC A Button Song Note Blue and Alpha
803D3F00 C-Button Song Note Blue and Alpha
803D3F04 Song Note Replay Red and Alpha

803D3594 Skulltula, Stone of Agony & Gerudo Card Color

803D3024 Medallions Color

0x003EEDCC Select Item Scale NOT FOCUS
0x003EEDE8 Select Item Width Scale FOCUS
0x003EEDFC Quest Status Scale FOCUS

0x003E8D3C Quest Status Direction Table

Ocarina of time share table for the cursor & object positions, Majora's Mask doesn't.
0x30 entries
0x003E9CC8 Quest Status Object Position Table
0x003E9D88 Quest Status Object Size Table

0x803D2980 Quest Status L Direction ID

0x803E44C8 Note Size Calculations

0x003E8F88 Equipment Upgrade Upgrade start offsets

0x003E9678 Map Cloud Size Table

0x003E96FC Panel Disabled Button Table

0x003E9824 Cursor Texture Table

0x003E9834 Cursor Color Table

0x003E99D8 Background Color Table
Item, Equipment, Unknown, Quest, Map, Save
B4B478
0x8021194E Song Note Y position temporary

0x803D2884 A Note Y Position
0x803D2894 C-D Note Y Position
0x803D28A4 C-R Note Y Position
0x803D28B4 C-L Note Y Position
0x803D28C4 C-U Note Y Position
0x10 offset

0x803D2BD0 A Replay Note Y
0x803D2BD4 C-D Replay Note Y
0x803D2BE0 C-R Replay Note Y
0x803D2BF0 C-L Replay Note Y
0x803D2BFC C-U Replay Note Y
0x4, 0xC, 0x10, 0xC offset


.org 0x803D2A58
	ADDIU AT, R0, 0x0000
	SH AT, 0x021C(S4)

0x803E9CAC Select Item Ammo Object Anchor ID
0x803E9CBC Equipment Position Table


0x801BD230 equipment object data